home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-users-of-norman / CUON_18_(11-1984).d64 / word puzzle (.txt) < prev    next >
Commodore BASIC  |  2019-04-13  |  2KB  |  77 lines

  1. 100 PRINT"[147][158]":POKE53280,0:POKE53281,0
  2. 110 FORT=1TO2:GOSUB1000:NEXT
  3. 120 TX$="F I N[159] D    A[158]    W[156] O R D":GOSUB800
  4. 130 MA=64
  5. 140 IFMA=20THENPOKE36879,8
  6. 150 DIME$(20,22),D$(20),ZX(20),ZY(20),OA(8),TW(20),H$(20,22)
  7. 160 FORI=1TO20:FORJ=1TO20:E$(I,J)="":NEXT:NEXT
  8. 170 RESTORE:FORI=1TO8:READQA(I),QB(I):NEXT
  9. 180 DATA0,-1,1,-1,1,0,1,1,0,1,-1,1,-1,0,-1,-1
  10. 190 FORI=1TO20:D$(I)="":ZX(I)=0:ZY(I)=0:NEXT
  11. 200 REM INPUT WORDS
  12. 210 PRINT"[159][147]HOW MANY WORDS(MAX20) ";:INPUTND$:GOSUB1000
  13. 220 PRINT:NW=VAL(ND$):IFNW<1ORNW>20THEN210
  14. 230 TX$="[147]NOW TYPE IN THE WORDS.......":GOSUB800:GOSUB1000
  15. 240 TX$=" (THEY MUST BE BETWEEN 3 AND 15 LETTERS)":GOSUB800:GOSUB1000
  16. 250 FORI=1TONW:PRINT"(";
  17. 260 PRINTI"[157]) ";
  18. 270 INPUT"[157]";D$(I)
  19. 280 IF LEN(D$(I))<3 OR  LEN(D$(I))>15 THENPRINTCHR$(13)"[145][145][145]":GOTO260
  20. 290 PRINT:NEXT
  21. 300 OPEN4,4
  22. 310 FORI=1TONW
  23. 320 PRINT#4,D$(I);SPC(20-LEN(D$(I)));:IFI=4ORI=8ORI=12ORI=16THENPRINT#4,:
  24. 330 NEXT
  25. 340 PRINT#4,:PRINT#4,:FORR=1TO64:PRINT#4,"*";:NEXTR:PRINT#4,:PRINT#4,"*";
  26. 350 PRINT#4," ";SPC(61);"*"
  27. 360 CLOSE4
  28. 370 REM PLACE
  29. 380 PRINT"[147]  MAKING GRID ":GOSUB1000
  30. 390 PRINT"    PLEASE WAIT":GOSUB1000
  31. 400 PW=0:FORAB=1TONW:PW=PW+1
  32. 410 ZX(PW)=INT(20*RND(1)+1)
  33. 420 ZY(PW)=INT(20*RND(1)+1)
  34. 430 DR=INT(8*RND(1)+1):TW(PW)=DR
  35. 440 CX=ZX(PW)+LEN(D$(PW))*QA(DR):CY=ZY(PW)+LEN(D$(PW))*QB(DR)
  36. 450 IFCX<1ORCX>20ORCY<1ORCY>20THEN410
  37. 460 F=0:FORCK=0TOLEN(D$(PW))-1
  38. 470 Z1$=MID$(D$(PW),CK+1,1):Z2$=E$(ZX(PW)+CK*QA(DR),ZY(PW)+CK*QB(DR))
  39. 480 IFZ2$<>""ANDZ1$<>Z2$THENF=1
  40. 490 NEXT:IFF=1THEN410
  41. 500 FORCK=0TOLEN(  D$(PW))-1
  42. 510 Z1$=MID$(D$(PW),CK+1,1):E$(ZX(PW)+CK*QA(DR),ZY(PW)+CK*QB(DR))=Z1$
  43. 520 NEXT
  44. 530 NEXT AB
  45. 540 REMPRINTSEARCHMATRIX
  46. 550 PRINT"[147]"
  47. 560 PRINT"":FORY=1TO20:FORX=1TO20
  48. 570 H$(X,Y)=E$(X,Y):IFE$(X,Y)=""THENH$(X,Y)="-"
  49. 580 IFE$(X,Y)=""THENE$(X,Y)=MID$(D$(NW*RND(1)+1),3*RND(1)+1,1)
  50. 590 IFMA=64THENPRINTE$(X,Y);" ";:GOTO610
  51. 600 IFMA=20THENPRINTE$(X,Y);
  52. 610 NEXT
  53. 620 IFMA=20THENPRINT
  54. 630 C=0:NEXT
  55. 640 OPEN4,4
  56. 650 FORY=1TO20:PRINT#4,"*  ";:FORX=1TO20
  57. 660 PRINT#4,E$(X,Y);"  ";
  58. 670 NEXT:PRINT#4,"*":PRINT#4,"*";SPC(62);"*":NEXT
  59. 680 FORR=1TO64:PRINT#4,"*";:NEXTR:PRINT#4,:PRINT#4:CLOSE4
  60. 690 PRINT"[147]WANT THE ANSWERS????????":GOSUB1000
  61. 700 INPUT"Y OR N";GS$:GOSUB1000
  62. 710 IFGS$="Y"THENPRINT"[158]DON'T PEEK!!!!!!!!!!!!!":GOSUB750
  63. 720 INPUT" RUN AGAIN ";S$:GOSUB1000
  64. 730 IFS$="Y"THENCLR:GOTO120
  65. 740 PRINT"[147]":END
  66. 750 OPEN4,4
  67. 760 FORY=1TO20:FORX=1TO20
  68. 770 PRINT#4,H$(X,Y);" ";
  69. 780 NEXT:PRINT#4:NEXT
  70. 790 CLOSE4:RETURN
  71. 800 REM SLOW PRINT TO SCREEN
  72. 810 FORTX=1TOLEN(TX$):PRINTMID$(TX$,TX,1);
  73. 820 FORK=1TO20:NEXTK:NEXTTX
  74. 830 PRINT:RETURN
  75. 1000 S=54272:POKES+24,15:POKES+1,110:POKES+5,9:POKES+6,9:POKES+4,17:POKES+4,16
  76. 1001 RETURN
  77.